<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <div class="list">
        <li>01</li>
        <li>02</li>
        <li>03</li>
        <li>04</li>
        <li>05</li>
        <li>06</li>
        <li>07</li>
        <li>08</li>
        <li>09</li>
        <li>10</li>
    </div>
</body>
<script>
    // call apply => 借鸡生蛋


    // 模拟封装slice
    // Array.prototype._mySlice = function (startIndex = 0, endIndex = this.length) {
    //     // this -> 调用此方法的实例化对象(数组)
    //     debugger;
    //     console.log(this);
    //     var arr = [];
    //     for (var i = startIndex; i < endIndex; i++) {
    //         var item = this[i];
    //         arr.push(item);
    //     }
    //     return arr;
    // }

    // var list = [1, 4, 7, 2, 5, 8, 3, 6, 9];
    // var res = list.slice(3, 6); // [3,6)
    // var res = list._mySlice(3, 6); // [3,6)
    // console.log(res);

    // 伪数组转真数组
    // var liList = document.querySelectorAll(".list li");
    // var list = Array.prototype.slice.call(liList);
    // var list = Array.prototype.slice.apply(liList);
    // console.log(list);


    // 取数组中的最大值
    // Math.myMax = function () {
    //     // arguments  => 函数的内置参数(函数调用时实际参数的集合)
    //     console.log(arguments); // 伪数组 
    //     var max = arguments[0]; //假设第一个数是最大值
    //     for (var i = 1; i < arguments.length; i++) { // 后面的每一个元素的下标
    //         var item = arguments[i];// 后面的每一个元素
    //         if(item > max){
    //             max = item;
    //         }
    //     }
    //     return max;
    // }
    // var max = Math.myMax(1, 4, 7, 9, 6, 3, 2, 5, 8);
    // console.log(max);

    // 此写法不改变this指向 => 只是把参数整合到数组中 作为第二参数传入
    // var list = [1, 4, 7, 9, 6, 3, 2, 5, 8];
    // var max = Math.max.apply(null,list);
    // console.log(max);

    // var list = [1, 4, 7, 9, 6, 3, 2, 5, 8];
    // var max = Math.max(...list);
    // console.log(max);





</script>

</html>